# 匿名函数

def f(x):
    return x ** 2
print(f(4))

g = lambda x: x ** 2
print(g(4))

#lambda 语句中，冒号前面是参数，可以有多个，冒号右边是返回值
# lambda 语句中，构建的其实是一个函数对象
from functools import reduce
reduce(lambda x,y:x+y,[1,2,3])
reduce(lambda x,y:x*y,[1,2,3])
reduce(lambda x,y:x and y,[True,False,True])

def ff(x,y):
    return x + y
c = reduce(ff,[1,2,3])
print(c)